2
תגובות
עזרה עם בקשת ajax
פתח
shlomo120
,
אהלן.
אחרי הרבה זמן שלא נגעתי בJQ , רציתי לבנות משהו קטן.
כמו קודנית כזאת שכל לחיצה שולחת לעמוד PHP את מה שנלחץ (ספרה) , ומוסיפה אותה למחרוזת בסיישן .
ואם נלחץ # אז הסיישן נבדק האם הוא הקוד הנכון , ומציג הודעה בהתאם , והסיישן מתנקה.
ומשום מה הקוד הבא לא עובד לי (הוא לא שולח שום דבר לדף PHP - הבקשה נשלחת אבל ללא data. )
אני חושב שהבעייה היא בform שאני שולח this .
מה אני אמור לשלוח במקום ?
תודה רבה.
אחרי הרבה זמן שלא נגעתי בJQ , רציתי לבנות משהו קטן.
כמו קודנית כזאת שכל לחיצה שולחת לעמוד PHP את מה שנלחץ (ספרה) , ומוסיפה אותה למחרוזת בסיישן .
ואם נלחץ # אז הסיישן נבדק האם הוא הקוד הנכון , ומציג הודעה בהתאם , והסיישן מתנקה.
ומשום מה הקוד הבא לא עובד לי (הוא לא שולח שום דבר לדף PHP - הבקשה נשלחת אבל ללא data. )
//jq
function AJAX(pram)
{
$.get("ajax.php?num="+pram, function(result){
$("div .result").html(result);
});
}
//html
<form class="form-signin" avtion="/" onsubmit="AJAX(this); return false;">
function AJAX(pram)
{
$.get("ajax.php?num="+pram, function(result){
$("div .result").html(result);
});
}
//html
<form class="form-signin" avtion="/" onsubmit="AJAX(this); return false;">
אני חושב שהבעייה היא בform שאני שולח this .
מה אני אמור לשלוח במקום ?
תודה רבה.
2 תשובות
onsubmit="AJAX(this);
ה this כאן מייצג מופע של טופס ולא מספר כמו שאתה חושב.
function AJAX(pram)
{
console.log(pram); // HtmlFormElement
$.get("ajax.php?num="+pram, function(result){
$("div .result").html(result);
});
}
{
console.log(pram); // HtmlFormElement
$.get("ajax.php?num="+pram, function(result){
$("div .result").html(result);
});
}
במקום זה אתה צריך להעביר מספר כלשהו, ולא את הטופס (או את שדה הקלט) עצמו.
אם כבר JQUERY אז לפחות תנצל את זה להצמדת אירועים בקלות:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
$(function(){
var selected;
$("form.form-signin input[type='submit']").click(function(){
selected = $(this).val();
});
$("form.form-signin").submit(function(){
$.get($(this).attr("action")+"?num="+selected,function(data){
$("div#result").html(data);
});
return false;
});
});
</script>
<form class="form-signin" action="ajax.php">
<input type="submit" name="button" value="1" />
<input type="submit" name="button" value="2" />
<input type="submit" name="button" value="3" />
<br/>
<input type="submit" name="button" value="4" />
<input type="submit" name="button" value="5" />
<input type="submit" name="button" value="6" />
<br/>
<input type="submit" name="button" value="7" />
<input type="submit" name="button" value="8" />
<input type="submit" name="button" value="9" />
<br/>
<input type="submit" name="button" value="*" />
<input type="submit" name="button" value="0" />
<input type="submit" name="button" value="#" />
</form>
<div id="result"></div>
<script>
$(function(){
var selected;
$("form.form-signin input[type='submit']").click(function(){
selected = $(this).val();
});
$("form.form-signin").submit(function(){
$.get($(this).attr("action")+"?num="+selected,function(data){
$("div#result").html(data);
});
return false;
});
});
</script>
<form class="form-signin" action="ajax.php">
<input type="submit" name="button" value="1" />
<input type="submit" name="button" value="2" />
<input type="submit" name="button" value="3" />
<br/>
<input type="submit" name="button" value="4" />
<input type="submit" name="button" value="5" />
<input type="submit" name="button" value="6" />
<br/>
<input type="submit" name="button" value="7" />
<input type="submit" name="button" value="8" />
<input type="submit" name="button" value="9" />
<br/>
<input type="submit" name="button" value="*" />
<input type="submit" name="button" value="0" />
<input type="submit" name="button" value="#" />
</form>
<div id="result"></div>